1. Technical Field
The present invention relates generally to information processing systems supporting multiple platforms. More specifically, the present invention relates to an application programmatic interface that provides language and platform neutral interfacing among platforms operating in a processing system.
2. Description of the Related Art
Electronic computing systems pervade nearly every aspect of business and personal life. Computer systems are used in businesses for managing large amounts of data and processing such data. In this need to process data, several platforms have been provided for operation on various computer systems. These platforms typically are proprietary and have difficulty talking one with another for software conversion. This is important in that particular software programs that find strong popularity on one platform migrate to another platform, but the incompatibility of the platform's language prevent ease of transporting such popular software to the new platform.
Each platform has a unique application binary interface (ABI) that determines how variable arguments are stored in memory. In the C language, within the C library, there is provided an interface that creates a variable argument list on the stack frame of a function that expects to receive a variable number of arguments as input. Unfortunately, a software developer needing to create a variable argument list would then need to know the details about linkage conventions and the way variable arguments are represented for a given platform. If the different platforms have dissimilar ABIs, the task of writing portable code for multiple platforms becomes nearly impossible.
Accordingly, what is needed is an API that allows applications to be ported across multiple platforms without great difficulty.